package com.qf.ssm.service;

import com.qf.ssm.entity.order.OrderMessage;
import com.qf.ssm.entity.order.UserAddress;
import com.qf.ssm.entity.user.*;
import com.qf.ssm.utils.ResponseResult;

import java.util.List;

/**
 * @Author wzy
 * @Date 0015 2021-02-15 17:17
 * @Version 1.0
 */
public interface UserService {
    ResponseResult<Admin> adminLogin(Admin admin);

    ResponseResult<User> userLogin(User user);

    ResponseResult<List<User>> userAllSelect();

    ResponseResult<List<User>> vipuserAllSelect();

    ResponseResult<Integer> userInsert(User user);

    ResponseResult<Integer> vipuserInsert(User user);

    // VIP等级表操作
    ResponseResult<List<VipLevel>> vipLevelSelect();

    ResponseResult<Integer> viplevelInsert(VipLevel vipLevel);

    ResponseResult<Integer> viplevelDelete(int id);
    
    ResponseResult<Integer> viplevelUpdate(VipLevel vipLevel);
    // VIP等级表操作


    ResponseResult<Integer> userDelete(int id);

    ResponseResult<Integer> vipuserDelete(int id);

    ResponseResult<Integer> userModify(User user);

    ResponseResult<Integer> vipuserModify(User user);

    ResponseResult<List<GrowthSettings>> growthSettingsSelect();

    ResponseResult<Integer> growthSettingsInsert(GrowthSettings growthSettings);

    ResponseResult<Integer> growthSettingsUpdate(GrowthSettings growthSettings);

    ResponseResult<Integer> growthSettingsDelete(int id);

    ResponseResult<List<GrowthSettings>> growthSettingsIDSelect();

    ResponseResult<List<UserResource>> userResourceSelect();

    ResponseResult<Integer> moneySettingsInsert(MoneySettings moneySettings);

    ResponseResult<Integer> moneySettingsDelete(int id);

    ResponseResult<List<MoneySettings>> moneySettingsSelect();

    ResponseResult<Integer> moneySettingsUpdate(MoneySettings moneySettings);

    ResponseResult<List<User>> userDynamicQuery(UserDynamicQuery userDynamicQuery);

    ResponseResult<List<User>> vipuserDynamicQuery(VipuserDynamicQuery vipuserDynamicQuery);



    // rmf模型设置表
    ResponseResult<Integer> rmfInsert(RmfModelSettings rmfModelSettings);

    ResponseResult<Integer> rmfDelete(int id);

    ResponseResult<List<RmfModelSettings>> rmfSelect();

    ResponseResult<Integer> rmfUpdate(RmfModelSettings rmfModelSettings);

    // 会员列表 orderSelect
    ResponseResult<List<OrderMessage>> orderSelect(int uid);

    ResponseResult<List<OrderMessage>> orderDetailSelect(int uid);

    ResponseResult<List<Points_details>> pointsDetailSelect(int uid);

    ResponseResult<List<UserAddress>> addrSelect(int uid);

}
